home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / emacs.lha / emacs-19.16 / lisp / term / vt100.el < prev    next >
Lisp/Scheme  |  1993-05-29  |  2KB  |  55 lines

  1. ;;; vt100.el --- define VT100 function key sequences in function-key-map
  2.  
  3. ;; Author: FSF
  4. ;; Keywords: terminals
  5.  
  6. ;; Copyright (C) 1989, 1993 Free Software Foundation, Inc.
  7. ;;; This file is part of GNU Emacs.
  8. ;;;
  9. ;;; GNU Emacs is free software; you can redistribute it and/or modify
  10. ;;; it under the terms of the GNU General Public License as published by
  11. ;;; the Free Software Foundation; either version 2, or (at your option)
  12. ;;; any later version.
  13. ;;;
  14. ;;; GNU Emacs is distributed in the hope that it will be useful,
  15. ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. ;;; GNU General Public License for more details.
  18. ;;;
  19. ;;; You should have received a copy of the GNU General Public License
  20. ;;; along with GNU Emacs; see the file COPYING.  If not, write to
  21. ;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  
  23. ;;; Commentary:
  24.  
  25. ;; Uses the Emacs 19 terminal initialization features --- won't work with 18.
  26.  
  27. ;; Handles all VT100 clones, including the Apollo terminal.  Also handles
  28. ;; the VT200 --- its PF- and arrow- keys are different, but all those
  29. ;; are really set up by the terminal initialization code, which mines them
  30. ;; out of termcap.  This package is here to define the keypad comma, dash
  31. ;; and period (which aren't in termcap's repertoire) and the function for
  32. ;; changing from 80 to 132 columns & vv.
  33.  
  34. ;;; Code:
  35.  
  36. ;; Set up function-key-map entries that termcap and terminfo don't know.
  37. (load "term/lk201" nil t)
  38.  
  39. ;;; Controlling the screen width.
  40. (defconst vt100-wide-mode (= (frame-width) 132)
  41.   "t if vt100 is in 132-column mode.")
  42.  
  43. (defun vt100-wide-mode (&optional arg)
  44.   "Toggle 132/80 column mode for vt100s.
  45. With positive argument, switch to 132-column mode.
  46. With negative argument, switch to 80-column mode."
  47.  (interactive "P")
  48.  (setq vt100-wide-mode 
  49.     (if (null arg) (not vt100-wide-mode)
  50.       (> (prefix-numeric-value arg) 0)))
  51.  (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
  52.  (set-frame-width terminal-frame (if vt100-wide-mode 132 80)))
  53.  
  54. ;;; vt100.el ends here
  55.